package persistent.dao;

import java.util.List;

import model.VCloudClassAnecdoteNumber;
import model.VCloudClassAnecdoteStatis;
import model.VCloudGradeAnecdoteStatis;
import model.VCloudSchoolAnecdoteStatis;

/**
 * 用作轶事类型统计接口，包括年级，班级，学校
 * @author 徐震霖
 * @since 2018-11-18 16:28
 *
 */
public interface AnecdoteStatisDAO {
	
	/**
	 * 根据条件得到所有学校轶事统计
	 * @param steWhere 查询条件
	 * @return 成功返回List<VCloudSchoolAnecdoteStatis>的学校统计对象列表，失败返回null
	 */
	public List<VCloudSchoolAnecdoteStatis> getSchoolAnecdoteStatis(String steWhere);
	
	/**
	 * 根据条件分页得到所有学校轶事统计
	 * @param steWhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页条数
	 * @return 成功返回List<VCloudSchoolAnecdoteStatis>的学校统计对象列表，失败返回null
	 */
	public List<VCloudSchoolAnecdoteStatis> getSchoolAnecdoteStatisByPage(String steWhere, int currentPage, int pageSize);
	
	/**
	 * 根据条件得到所有年级轶事统计
	 * @param steWhere 查询条件
	 * @return 成功返回List<VCloudSchoolAnecdoteStatis>的学校统计对象列表，失败返回null
	 */
	public List<VCloudGradeAnecdoteStatis> getGradeAnecdoteStatis(String steWhere);
	
	/**
	 * 根据条件分页得到所有年级轶事统计
	 * @param steWhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页条数
	 * @return 成功返回List<VCloudSchoolAnecdoteStatis>的学校统计对象列表，失败返回null
	 */
	public List<VCloudGradeAnecdoteStatis> getGradeAnecdoteStatisByPage(String steWhere, int currentPage, int pageSize);
	
	/**
	 * 根据条件得到所有班级轶事统计
	 * @param steWhere 查询条件
	 * @return 成功返回List<VCloudSchoolAnecdoteStatis>的学校统计对象列表，失败返回null
	 */
	public List<VCloudClassAnecdoteStatis> getClassAnecdoteStatis(String steWhere);
	
	/**
	 * 根据条件分页得到所有班级轶事统计
	 * @param steWhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页条数
	 * @return 成功返回List<VCloudSchoolAnecdoteStatis>的学校统计对象列表，失败返回null
	 */
	public List<VCloudClassAnecdoteStatis> getClassAnecdoteStatisByPage(String steWhere, int currentPage, int pageSize);
	
	/**
	 * 根据查询条件得到班级轶事分析列表
	 * @param strwhere 查询条件
	 * @return 成功返回VCloudClassAnecdoteNumber列表，失败返回null
	 */
	public List<VCloudClassAnecdoteNumber> getClassAnecdoteNumber(String strwhere);
	
	/**
	 * 根据查询条件得到班级轶事分析列表，带分页
	 * @param strwhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回VCloudClassAnecdoteNumber列表，失败返回null
	 */
	public List<VCloudClassAnecdoteNumber> getClassAnecdoteNumber(String strwhere,int currentPage, int pageSize);
	
}
